perm filename DOC[XAP,BGB] blob sn#046313 filedate 1973-06-02 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00005 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002		 XAP - XEROX ASSEMBLE AND PRINT.
C00004 00003	ESCAPE CHARACTER.____________________________________________________
C00008 00004	VECTORS._____________________________________________________________
C00010 00005	XAP DESIGN
C00012 ENDMK
C⊗;
	 XAP - XEROX ASSEMBLE AND PRINT.
	 Bruce g. Baumgart & Tovar Mock.

INTRODUCTION.

	XAP is  a two pass  document assembler which  assembles files
of  text, III buffers, graphics  and video into  binary image rasters
which are then printed  on the XGP. XAP  is pronouced "zap". The  XAP
input  scanner has  a  command mode  and a  print  mode. The  scanner
starts  by rescaning the R XAP monitor  command line for a semicolon;
after the semicolon,  XAP accepts one teletype line  of commands. For
example:
			~X0.3;Y0.3;⊗ARM.PLT[XAP,BGB];F.
.RU XAP;@XAP.DOC[XAP,BGB] will print this file on the XGP.
.RU XAP;⊗ARM.PLT[XAP,BGB] will print this III buffer:










	Commands are  usually  delimited by  semicolons. The  command
for  entering  print   mode  is  select-font  F<n>.  In  print  mode,
characters are on the  usually printed into  the XGP bit raster;  the
text mode is escaped to command mode by the character tilde.


THE XGP PAGE RASTER.

The  logical page size is 2048 rows by 1728 columns.
The physical page size is 8.5" by 11".
Although (49 words per row)*(2048 rows) = 100352 words;
steps have been taken so that a 100K core image is not required.

ESCAPE CHARACTER.____________________________________________________

	__ 	Quote escape character.
	_|x	Change escape character to x.

The XAP escape character is TILDE, "_", ASCII 32 octal.
The escape character terminates TEXT-MODE and returns control to
the command scanner, which is COMMAND-MODE.


FONT SPECIFICATION.__________________________________________________

F<n>;			Select font number <n>.
N<n><font file name>;	Name font number <n>.
VECTORS._____________________________________________________________

	V<row>,<column>;	Absolute visible vector.
	I<row>,<column>;	Absolute invisible vector.
	
Lower case v, i, d and p specify relative mode.
Upper case V, I, D and P specify absolute mode.
The row and column arguments are ASCII decimal numerals.
(get arrowheads implemented).

CIRCULAR ARCS and POLYNOMIAL ARCS.____________________________________

   C<radius>,<arc-displacement>,<arc-length>;	Circular arc command.
   R<radius1>,<arc-displacement>,<radius2>;	Radial vector command.
   A<xlo>,<xhi>,<coef0>,<coef1>,...,<coefN>;	Arc polynomial command.

INDIRECT FILES.______________________________________________________
COMMANDS & TEXT, III BUFFERS, VIDEO IMAGES.

	_@filename	place uppermost left at pen position.
	_⊗filename	place center at pen position.
	_S<scale>;	set scale for III buffers, scale 1.0 means
			1024 xerox elements to III full screen size.
			Negative sets only vertical scale-Y; Positive
			scale sets both scale-X and scale-Y.


TEXT JUSTIFICATION AND MARGINS._____________________________________
XAP DESIGN

DATA STRUCTURES.

	1. TEXT FILE.
	2. III BUFFER FILE.
	3. VIDEO FILE.

	1. XGP PAGE WINDOW - 2048 rows by 1728 columns.
	2. TEXT WINDOW - holds pieces of type, flexible shape, divisible.
	3. GRAPHICS WINDOW - rigid, indivisible.

PROCESSOR STATE.

	1. Pass of Process:
				PASS  =  0 for first pass, 
					-1 for second.
	2. Pagination mode:
				PMODE =  0 for manual, 
					-1 for automatic.
	3. Window filling mode:
				WFMODE = 0 for text window,
					+1 for graphics window.
					-1 for XGP window.
	4. Character processing mode:
				CMODE =  0 for print,
					-1 for command.

	5. XGP window pen position: ROW, COL.
	6. XGP physical page number: PPAGE.
	7. Modes of text justification (in text window filling).
		TJMODE = 0 clipping
			-1 automatic CRLF on line overflow.
			+1 left and right justification.
			+2 right justification.
		        +3 center justification.